//package com.util.thread;
//
///**
// * @author xin.ding
// * @date 2020/11/4 13:40
// */
//public class ExceptionTest  {
//
//    {
//        class Program
//        {
//            private delegate void ThreadExceptionEventHandler(Exception ex);
//            private static ThreadExceptionEventHandler exceptionHappened;
//            private static Exception exceptions;
//            static void Main(string[] args)
//            {
//                exceptionHappened = new ThreadExceptionEventHandler(ShowThreadException);
//                Thread t = new Thread(() =>
//                        {
//                try
//                {
//                    throw new Exception("我是子线程中抛出的异常！");
//                }
//                catch (Exception ex)
//                {
//                    OnThreadExceptionHappened(ex);
//                }
//                }
//            );
//                t.Start();
//                t.Join();
//                if (exceptions != null)
//                {
//                    Console.WriteLine(exceptions.Message);
//                }
//            }
//            private static void ShowThreadException(Exception ex)
//            {
//                exceptions = ex;
//            }
//            private static void OnThreadExceptionHappened(Exception ex)
//            {
//                if (exceptionHappened != null)
//                {
//                    exceptionHappened(ex);
//                }
//            }
//        }
//    }
//
//}
//
